package util.file;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public interface IMultiProtocolFile
{

	public abstract InputStream getInputStream() throws IOException;

	public abstract OutputStream getOutputStream() throws IOException;

	public abstract OutputStream getOutputStream(boolean append) throws IOException;

	public abstract boolean exists();

	public abstract boolean canRead() throws IOException;

	public abstract boolean canWrite() throws IOException;

	public abstract long lastModified() throws IOException;

	public abstract long length() throws IOException;

	public abstract IMultiProtocolFile[] listFiles() throws IOException;

	public abstract boolean mkdirs();

	public abstract boolean createNewFile() throws IOException;

	public abstract boolean delete();

	public abstract boolean setLastModified(long time);

	public abstract long getLastModified();

	public abstract boolean renameTo(IMultiProtocolFile dest) throws IOException;

	public abstract String getPath();

	public abstract String getParent();

	public abstract String getName();

	public abstract boolean isFile() throws IOException;

	public abstract boolean isDirectory() throws IOException;

}